home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / cbm / 1935 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.2 KB

  1. Path: merle.acns.nwu.edu!judd
  2. From: judd@merle.acns.nwu.edu (Stephen Judd)
  3. Newsgroups: comp.sys.cbm
  4. Subject: Polygonamy (Flaws and all)
  5. Date: 6 Feb 1996 19:04:43 GMT
  6. Organization: Northwestern University, Evanston IL
  7. Message-ID: <4f88ob$gst@news.acns.nwu.edu>
  8. Reply-To: sjudd@nwu.edu (Stephen Judd)
  9. NNTP-Posting-Host: merle.acns.nwu.edu
  10.  
  11. Well... for what it's worth, here is Polygonamy.  I am out of time
  12. and also out of memory (there are 512 bytes free between $CE00 and $CFFF),
  13. so the program is not as good as it could be.  Ah well, it's purpose was
  14. to test some ideas I had, and explore their limitations.
  15.  
  16. There are three objects in the world.  I wanted to do five but ran out
  17. of memory (I could get some large chunks back with a little code rewrite).
  18. One of the objects is static, the others are in motion.
  19.  
  20. There are still some rough edges, which I have tried to fudge around.
  21. Unfortunately they only became apparent at the very end.
  22.  
  23. To measure how many frames per second the program is getting, move up to
  24. the first object.  Every 360 degrees is 128 frames, so if you time a
  25. full revolution (or two or three) and divide into 128 (times the number
  26. of revolutions you have just timed), you will get a good frames per
  27. second estimate.
  28.  
  29. Well, here is a little blurb I wrote while in higher spirits:
  30.  
  31.  
  32.                  Polygonamy
  33.                  ----------
  34.             A study in three dimensions.
  35.  
  36.           by Stephen L. Judd  --> sjudd@nwu.edu
  37.  
  38.     My goal was to create a 3D virtual world for the C64, e.g. a space
  39. populated with various three-dimensional objects, which I could wander around
  40. in.  I wanted it to be full-screen 320x200 hires bitmapped.  Furthermore, I
  41. wanted the objects to be solid, and since there are only two colors I
  42. wanted to be able to put patterns on the faces.  Finally, naturally, I
  43. wanted the program to be fast.  This was the framework in which I placed
  44. myself.
  45.  
  46.     Just a brief history of this project: I have wanted to do a 3D
  47. world for a very long time, and have been thinking about it for some
  48. time in the back of my head; my imagination was probably first fired
  49. the first time I played Elite.  I wrote down the necessary equations one
  50. afternoon last summer, for a high school student I was teaching, and
  51. the equations are very simple.  I took a break to get some work of
  52. measureable value accomplished, but in October I began work on the
  53. graphics algorithm, which was very tough!  I worked steadily on this for
  54. two months, and in December I finally began to code the graphics.  In mid
  55. January, I got them to work.  Adding the rest took a few weekends more.
  56. I have about 128 pages of notes, diagrams, analytical calculations, and
  57. BASIC test programs in my C64 notebook; this is my most ambitious project
  58. to date and I hope you enjoy the results.
  59.  
  60.     One caveat before we begin: I am primarily interested in the
  61. challenge of designing the algorithms, which means I like to come up
  62. with my own solutions.  Thus, you may find more efficient methods
  63. in a graphics book or perhaps in someone else's code; I have examined
  64. neither, so I have no idea what the relative merit of my algorithms
  65. may be.  These are simply my solutions to challenges placed before me.
  66. And if you know of a better way to do things, please feel free to email
  67. me!
  68.  
  69. (code to follow in the next posting)
  70.  
  71.     evetS-
  72.